import request from '@/config/axios'

// 专业管理 VO
export interface MajorVO {
  id: number // 编号
  code: string // 编码
  name: string // 名称
  level: string // 等级
  training_objective: string // 培养目标
  study_period: string // 学习年限
  vocational_competence: string // 职业能力
  corresponding_occupation: string // 对应或相关职业（工种）
  curriculum_content: string // 教学内容与要求
  upper_level_code: string // 对应上一级专业编码
  next_level_code: string // 对应下一级专业编码
  qualification_skill_level: string // 职业资格(职业技能等级)
  major_category_id: number // 所属大类ID（关联major_category表id）
  status: number // 状态（0禁用 1启用）
  creator: string // 创建者
  create_time: Date // 创建时间
  updater: string // 更新者
  update_time: Date // 更新时间
}

// 专业管理 API
export const MajorApi = {
  // 查询专业管理分页
  getMajorPage: async (params: any) => {
    return await request.get({ url: `/eval/major/page`, params })
  },

  // 查询专业管理详情
  getMajor: async (id: number) => {
    return await request.get({ url: `/eval/major/get?id=` + id })
  },

  // 新增专业管理
  createMajor: async (data: MajorVO) => {
    return await request.post({ url: `/eval/major/create`, data })
  },

  // 修改专业管理
  updateMajor: async (data: MajorVO) => {
    return await request.put({ url: `/eval/major/update`, data })
  },

  // 删除专业管理
  deleteMajor: async (id: number) => {
    return await request.delete({ url: `/eval/major/delete?id=` + id })
  },

  // 导出专业管理 Excel
  exportMajor: async (params) => {
    return await request.download({ url: `/eval/major/export-excel`, params })
  },

  // 下载导入专业管理模板
  importTemplate: async () => {
    return await request.download({ url: `/eval/major/get-import-template` })
  },

  // 导入专业管理
  importMajor: async (data) => {
    return await request.upload({ 
      url: `/eval/major/import`, 
      data,
      timeout: 120000, // 设置较长的超时时间
    })
  }
}